Serial ATA (Advanced Technology Attachment) is an evolutionary replacement for the Parallel ATA physical storage interface. Serial ATA (SATA) is a computer bus primarily designed for transfer of data between a computer processor and hard disk and has at least three advantages over Parallel ATA, namely speed, cable management, and Serial ATA's ability of being hot swappable. A Native Command Queuing (NCQ) Serial ATA device is a Serial ATA device that supports NCQ. NCQ is a queuing protocol designed to make efficient use of the Serial ATA protocol and streamline the data transfer portion of queued commands. NCQ enables a Serial ATA device to accept multiple commands from a Serial ATA host controller and rearrange the completion order of these commands to maximize throughput.
There are three interface power states supported in Serial ATA: PhyReady, Partial and Slumber. In PhyReady (or power up) state, the PHY (physical) logic and main PLL (phase-locked loop) are both on and active, and the interface is synchronized and capable of receiving and sending data. Partial and Slumber are two power saving (or power down) modes. In both Partial and Slumber states, the PHY logic is powered, but is in a reduced power state. However, while the exit latency from Partial state is generally no longer than 10 μs (microseconds), the exit latency from Slumber state is generally no longer than 10 ms (milliseconds).
When a Serial ATA interface including a NCQ Serial ATA device is idle (i.e., when either a Serial ATA host controller or an attached NCQ Serial ATA device is not active) for a period of time, it is desirable to put the interface into a power saving mode. In addition to saving power while in a power saving mode, the interface lifetime may be increased.
Thus, it would be desirable to provide a method and apparatus of automatic power management control which automatically puts a NCQ Serial ATA device into power up and power down modes.